// vue CLI 相关配置文件 https://cli.vuejs.org/zh/config/#vue-config-js
// webpack https://webpack.js.org/configuration/dev-server/

module.exports = {
  // publicPath: process.env.NODE_ENV === 'production' ? '/production-sub-path/' : '/',
  // publicPath: '/',
  // 设置文件的公共(根)路径(一般打包上线需要测试) <----这里就是会修改webpack的outPath.publicPath
  publicPath: '',
  devServer: { // 起服务的一些配置
    host: '0.0.0.0', // 暴力匹配任何端口,但不表示自己
    port: 8080, // 端口号
    open: true, // 配置自动打开浏览器
    hot: true,
    hotOnly: true,
    inline: false,
    proxy: { // 正向代理(找到一个中间商)
      // 1. 关闭axios的基路径
      // 2. 代理 -- "/vant": 表面上作走的是8080, 实际上走的是3000
      // 欺骗了浏览器,只是形式上的改变,事实上还是老样子,发现不了
      '/vant': {
        target: 'http://localhost:3000',
        // ws: true, // proxy websockets
        changeOrangin: true
        // "pathRewrite":{
        // "^/weather":"/"
        // }
      },
      '/gateway': {
        target: 'http://m.maoyan.com',
        changeOrigin: true
        // pathRewrite:{
        //   '^/hsl':''
        // }
        /* /kerwin/ajax/comingList  ====> /ajax/comingList  */
      },
      '/avatar': {
        target: 'http://localhost:3000',
        changeOrangin: true
      },
      '/data': {
        target: 'http://www.weather.com.cn',
        changeOrangin: true
      }
    },
    overlay: {
      // 配置叠加来显示警告和错误(浏览器遮罩层显示错误)
      // 只能做到眼不见心不烦,但是服务器不会热更新了
      warnings: false,
      errors: false
    }
  },
  // configureWebpack: {
  //   resolve: {
  // alias别名配置
  // key是使用的别名,值是实际地址。@===src
  // @ is an alias to /src

  // 不需要另外设置
  // alias: {
  //   assets: '@/assets',
  //   components: '@/components',
  //   views: '@/views',
  //   utils: '@/utils'
  // }
  //   },
  // contentBase: path.join(__dirname, 'assets'),
  // contentBasePublicPath: '/serve-content-base-at-this-url'
  // },
  // lintOnSave: false // 禁用eslint
  lintOnSave: process.env.NODE_ENV !== 'production'// 生产环境禁用
  // publicPath: process.env.NODE_ENV === 'production' ? '/production-sub-path/' : '/'
}
// 注意: 改了配置文件(这里的代理)一定要重启,不然不会生效。
